package 模拟斗地主;
/*
1.创建一个牌盒，也就是定义一个集合对象，用ArrayList实现
2.往牌盒里装牌
3.洗牌，也就是把牌打散，用Collections的shuffle()方法实现
4.发牌，也就是遍历集合，给三个玩家发牌
5.看牌，也就是三个玩家分别遍历自己的牌
 */

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;

public class CollectionDemo {
    public static void main(String[] args) {
        //创建一个牌盒，用ArrayList实现
        ArrayList<String> array = new ArrayList<String>();
        //往牌盒里面装牌
        //定义花色数组
        String[] colors = {"♣", "♠", "♥", "🟥"};
        //定义点数
        String[] numbers = {"2", "3", "4", "5", "6", "7", "8", "9", "J", "Q", "K", "A"};
        //循环嵌套将花色和点数进行拼接
        for (String color : colors) {
            for (String number : numbers) {
                array.add(color + number);//拼接在赋值到集合中
            }
        }
        array.add("小王");
        array.add("大王");

        Collections.shuffle(array);
        //给三个玩家发牌，遍历三个集合
        ArrayList<String> player1 = new ArrayList<String>();
        ArrayList<String> player2 = new ArrayList<String>();
        ArrayList<String> player3 = new ArrayList<String>();
        ArrayList<String> dpArray = new ArrayList<String>();
        //遍历牌的集合，得到每一张牌
        for (int i = 0; i < array.size(); i++) {
            String poker = array.get(i);
            //索引是最后三张牌则放在底牌库中
            if (i >= array.size() - 3) {//说明他是最后三张牌
                dpArray.add(poker);//将牌存到底牌中
            } else if (i % 3 == 0) {
                player1.add(poker);
            } else if (i % 3 == 1) {
                player2.add(poker);
            } else if (i % 3 == 2) {
                player3.add(poker);
            }
        }
        //看牌，三个玩家分别遍历自己的牌
        lookPoker("姜恒星",player1);
        lookPoker("郝万杰",player2);
        lookPoker("邓吉壕",player3);
        lookPoker("底牌",dpArray);

//        System.out.println(array);
    }
    //看牌的方法
    public static  void lookPoker(String name,ArrayList<String> array){
        System.out.print(name+"的牌是");
        //遍历这个牌
        for (String poker:array){
            System.out.print(poker+" ");
        }
        System.out.println();
    }
}
